
# 面向对象 : init构成方法
"""
1. 什么是构造方法 ：就是一个初始化方法 ，其作用主要是为某个数据/操作进行初始化 。 比如为余额充值 。
2. 编写格式 ：__init__()
3. 初始化方法的规则：
    1）只要创建对象，首先会调用__init__方法 ，而且自动调用
    2 ）在初始化方法中一般初始的数据或操作

初始化传入参数 ：__init__(参数列表)
"""


class Bugs():

    # 定义属性
    product = 'tpshop'
    # project = 'tpshop_front'
    version = 1.0

    # 构造方法
    def __init__(self,project):
        self.project = project
        print("项目名:",self.project)
        print("===这是一个初始化方法===")

    # 定义功能
    def create_bug(self):
        # 在此方法中访问search_bug这个方法
        self.search_bug('abc')

    def update_bug(self):
        pass

    def delete_bug(self):
        pass

    def search_bug(self,title):
        print("self:{}".format(self))
        db_bugs = [
            {'bug_id': 1, 'bug_title': '学生列表页使用学生名称进行搜索 结果不正确', 'bug_project': self.project, 'version': 1.0},
            {'bug_id': 2, 'bug_title': '和方法开始减肥盛世嫡妃', 'bug_project': 'tpshop', 'version': 1.0},
            {'bug_id': 3, 'bug_title': '导出的数据中字段(执勤单位)数据显示错误', 'bug_project': self.project, 'version': 1.0},
            {'bug_id': 4, 'bug_title': '学生列表sdfsdfsdfsdfsdf', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 5, 'bug_title': '学员列表页按照学生名称进行搜索 结果不正确', 'bug_project': 'tpshop', 'version': 1.0}
        ]
        lst = []
        for bug in db_bugs:
            bug_title = bug.get('bug_title')
            if title in bug_title:
                lst.append(bug)
        return lst


bug1 = Bugs('tpshop_front')     # 代表bug1是tpshop_front下的bug
print("bug1:{}".format(bug1))       # 打印的是bug1对象
print(bug1.search_bug('导出'))

print("="*30)
bug2 = Bugs('wx')                       # 代表bug2是wx下的bug
print("bug2:{}".format(bug2))       # 打印的是bug2对象
print(bug2.search_bug('导出'))